#!/usr/bin/env python
# -*- encoding:utf-8 -*-

import urllib,urllib2,re,sys,os,time
reload(sys)

sys.setdefaultencoding('utf-8')

item = "art"#填写适当栏目


#url = 'http://huaban.com/favorite/'
if(os.path.exists(item) == False):
    os.mkdir(item)
index = 0
def get_huaban_beauty():
    global index
    pin_id = 48145457
    limit = 100 #他默认允许的limit为100
    while pin_id != None:
        url = 'http://huaban.com/favorite/'+item+'/?max='+str(pin_id)+'&limit='+str(limit)+'&wfl=1'
        try:
            i_headers = {"User-Agent": "Mozilla/5.0(Windows; U; Windows NT 5.1; zh-CN; rv:1.9.1)\
            Gecko/20090624 Firefox/3.5",\
            "Referer": 'http://baidu.com/'}
            req = urllib2.Request(url, headers=i_headers)
            html = urllib2.urlopen(req).read()

            reg = re.compile('"pin_id":(.*?),.+?"file":{"farm":"farm1", "bucket":"hbimg",.+?"key":"(.*?)",.+?"type":"image/(.*?)"',re.S)
            groups = re.findall(reg,html)
            print str(pin_id)+ "Start to catch "+str(len(groups))+" photos"

            for att in groups:
                pin_id = att[0]
                att_url = att[1]+'_fw554'
                img_type = att[2]
                img_url = 'http://img.hb.aicdn.com/' + att_url
                if(urllib.urlretrieve(img_url,item+'/'+item+str(index)+'.'+img_type)):
                    print item +str(index)+'.'+img_type + ' download success!'
                    index += 1
                else:
                    print item +str(index)+'.'+img_type + ' save failed'

        except:
            print 'error occurs'



get_huaban_beauty()
